﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace tracnghiem
{
    public partial class frmMonHoc : Form
    {
        /*
         * 
         * 
         * 
         * */             
        
        Database db = new Database();
        DataClassesDataContext context = new DataClassesDataContext();

        public frmMonHoc()
        {
            InitializeComponent();
        }

        private void frmMonHoc_Load(object sender, EventArgs e)
        {
            
            var q = from monhocs in context.MON_HOCs
                    select monhocs;                        
            dtgMonHoc.DataSource = q;
        }

        private void btnHuy_Click(object sender, EventArgs e)
        {
            txtMaMon.Text = "";
            txtTenMon.Text = "";
        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnCapNhat_Click_1(object sender, EventArgs e)
        {

            try
            {
                if (isValidFileds())
            {                
                //kiem tra xem co trung voi ma mon hoc nao khong?               
                var q = (from monhoc in context.MON_HOCs
                        where monhoc.MA_MON == txtMaMon.Text
                        select monhoc).Count();

                if (q > 0)
                {
                    //cap nhat mon hoc
                    DialogResult dlgResult = MessageBox.Show("Bạn muốn cập nhật môn học có mã : " + txtMaMon.Text, "Thông báo", 
                                                            MessageBoxButtons.YesNo);
                    if (dlgResult == DialogResult.Yes)
                    {
                        var monhoc = (from monhocs in context.MON_HOCs
                                      where monhocs.MA_MON == txtMaMon.Text
                                      select monhocs).Single();
                        monhoc.TEN_MON = txtTenMon.Text;
                        context.SubmitChanges();
                        dtgMonHoc.DataSource = context.MON_HOCs;
                        txtThongBao.Text = "Cập nhật thành công";                       
                    }
                }
                else
                {
                    //them moi mon hoc
                    MON_HOC monhoc = new MON_HOC();
                    monhoc.MA_MON = txtMaMon.Text;
                    monhoc.TEN_MON = txtTenMon.Text;
                    context.GetTable<MON_HOC>().InsertOnSubmit(monhoc);
                    context.SubmitChanges();
                    //cap nhat tren dtgMonHoc
                    dtgMonHoc.DataSource = context.MON_HOCs;
                    txtThongBao.Text = "Thêm mới thành công";
                }                
            }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Loi: " + ex.Message);
            }
            
        }

        private void groupBox1_Enter(object sender, EventArgs e)
        {

        }

        private void dtgMonHocOnCellClick(object sender, DataGridViewCellEventArgs e)
        {
            int row_index = e.RowIndex;
            if (row_index >= 0)
            {
                txtMaMon.Text = (String)dtgMonHoc["MA_MON", row_index].Value;
                txtTenMon.Text = (String)dtgMonHoc["TEN_MON", row_index].Value;           
            }        
            
        }

        private bool isValidFileds()
        {
            if (txtMaMon.Text == "" || txtTenMon.Text == "")
            {
                MessageBox.Show("Các trường không được để trống!","Thông báo", MessageBoxButtons.OK);
                return false;
            }
            return true;

        }

        private void btnXoa_Click(object sender, EventArgs e)
        {
            var q = (from monhoc in context.MON_HOCs
                     where monhoc.MA_MON == txtMaMon.Text
                     select monhoc).Count();
            if (q > 0)
            {
                DialogResult dlgResult = MessageBox.Show("Bạn chắc chắn muốn xóa môn học có mã : " + txtMaMon.Text, "Thông báo", 
                                                        MessageBoxButtons.YesNo);
                if (dlgResult == DialogResult.Yes)
                {
                    var monhoc = (from monhocs in context.MON_HOCs
                                  where monhocs.MA_MON == txtMaMon.Text
                                  select monhocs).Single();
                    context.MON_HOCs.DeleteOnSubmit(monhoc);
                    context.SubmitChanges();
                    txtThongBao.Text = "Xóa thành công";
                    //cap nhat tren dtgMonHoc
                    dtgMonHoc.DataSource = context.MON_HOCs;
                }
            }
        }
    }
}
